package com.neulogistics.contrib.warehouse.api.application.query;


import com.neulogistics.contrib.warehouse.domain.model.valueobject.GoodsItem;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class CirculationOrderQuery implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 当前页号
     */
    @Positive(message = "当前页数非法！")
    public long pageNum = 1;

    /**
     * 页面大小
     */
    @Positive
    @Max(value = 20, message = "请求数据过多！")
    public long pageSize = 10;

    /**
     * 出入库单id
     */
    public Long circulationId;

    /**
     * 所属库房id
     */
    public Integer warehouseId;

    /**
     * 流动类型: 0:入库；1:出库
     */
    public Integer circulationType;

    /**
     * 流动细节: 0:进货入库；1:调拨入库；2:退货入库；3:调拨出库；4:退货出库；5:取货出库
     */
    public Integer circulationDetail;

    /**
     * 调拨单id
     */
    public Long transferId;

    /**
     * 任务id
     */
    public Long taskId;

    /**
     * 状态: 0:进行中；1:已完成；2:已取消
     */
    public int[] circulationStatus;

    /**
     * 创建时间
     */
    public Date createTime;

    /**
     * 完成时间
     */
    public Date completeTime;
}
